perm filename BUDGET.DOC[PRO,HE]2 blob sn#638671 filedate 1982-01-29 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00015 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00003 00002	The BUDGET program.
C00008 00003	The budget program:
C00024 00004	Sample input file.
C00025 00005	Sample run of the BUDGET command.
C00027 00006	Sample run of the PROJECT command.
C00031 00007	Interactive commands:  lumped.
C00033 00008	Interactive commands:  CLEAR.
C00034 00009	Interactive commands:  EXE.
C00040 00010	Interactive commands:  OVERHEAD.  (Also, the INDIRECT command.)
C00041 00011	Interactive commands:  PROJECT.
C00043 00012	Interactive commands:  STATUS.
C00045 00013	Appendix 1.  Detailed budget for inclusion in an NSF proposal.
C00049 00014	Appendix 2.  Skeleton budget as produced by BUDGET.
C00052 00015	Archived announcements of BUDGET updates.
C00057 ENDMK
C⊗;
The BUDGET program.
 
This program was written and is maintained by BIS@SU-AI.
Send suggestions, complaints, and bugs to him.
The mailing list for updates on the BUDGET program is BUDGET.DIS[DIS,BIS].
Feel free to add or delete your name.

Update announcements are archived at the end of this DOC file.
 
The budget program:

Overview.
 
Grant proposals require detailed budgets like that shown in Appendix 1.
 
The BUDGET program is designed to aid in producing such budgets.
 
BUDGET takes an input file which details the line items of a budget
(salaries, percentages, dates of employment, capital expenditures and dates,
foreign travel estimates, etc) and produces a skeleton budget like that
shown in Appendix 2.
 
Some editing of the skeleton budget is required before it can be included
in a proposal:
 
1.	Full names of senior personnel must be typed in, along with their
	percentages.  For faculty, one must detail academic year versus
	summer.
 
2.	The numbers must be rounded, the addition corrected, and commas
	inserted after the thousands digit.  (This will be done automatically
	in a future version of BUDGET.)
 
3.	Other things must be typed in, as the reader can see.
 
Despite the fact that a skeleton budget must be edited before it can be
included in a proposal, the BUDGET program is useful because it allows
easy experimentation with different line items.
 
The program takes care of some messy details.  Student salaries are
presumed to inflate by 10% on 01 October.  Faculty and staff salaries are
presumed to inflate by 10% on 01 September.  The University's Staff
Benefit Rate changes on 01 September.  Students work 50% time during their
academic year (October thru June) and 100% time during their summer (July
thru September).  But for faculty, `academic year' means September thru
May.  Charges for the SAIL cost center are presumed to inflate by 10%
on calendar year boundaries (January).

Our most recent NSF proposal ran from November thru October.  Hand
calculations of salaries alone would have required four separate periods:
November thru June; July thru August; September; October.  BUDGET yields
precise budget totals based on input specs.  If you don't like the totals,
then change the inputs specs and run BUDGET again.  The last NSF proposal
went thru 19 such iterations.  BUDGET saved considerable time over pencil
and paper calculations.


Using BUDGET.
 
BUDGET is written in MACLISP and sits on top of ACRONYM, a package of
LISP utility routines.  In this section we provide an annotated dialog
in which BUDGET is used.
 
First of all, you have to prepare a file of input specifications which
detail the line items of the budget.  We will discuss such a file in
a later section of this document.  For the moment, we will presume that
the user's file SAMPLE.IN is a file of such input specs.

To load the BUDGET program, type

	.r acronym;budget[sys,bis]

which loads BUDGET on top of ACRONYM.  The program will respond

	Hi there, Barry
	You are using an ACRONYM created on 05/01/80 at 06:16:16 by ROD
	Running: BUDGET.ACR[SYS,BIS]
	Fasloaded file: BUD013.FAS[SYS,BIS]
	* 

The `*' means that ACRONYM is ready for input.  BUDGET is invoked by typing

	(budget)<cr>

The program responds with

	Welcome to BUDGET

and issues the standard prompt

	How may I serve you, Master?

We need to read the input file which we have prepared.  The READ command
takes care of this, so we type

	How may I serve you, Master?  READ<cr>

at the end of the prompting line.  (By the way, BUDGET is perfectly happy
to accept type-ahead.)  The READ command requires the name of the input
file as an argument, so we answer the next prompt

	Input data file?  SAMPLE<cr>

BUDGET now reads this file.  It presumes that the extension is IN and that
the file is located under your currently ALIASed area.  You can type in the
name of any SAIL file.  The program reports its reading with a line like

	Reading IN file: SAMPLE.IN[BUD,BIS]

If there are errors in the syntax of your input file, they will be reported.

Now we are ready to ask the program to crunch for us.  The BUDGET command
does this:

	How may I serve you, Master?  BUDGET<cr>

This command requires a period for which the budget is to be prepared.
In this case we can type `FIRST-YEAR' since this period has been defined
in the input file (we'll show how later).

	For what period or month?  FIRST-YEAR<cr>

Now BUDGET needs the name of an output file.  We'll type SAMPLE, and this
will default to the file SAMPLE.OUT under our currently ALIASed area:

	File name?  SAMPLE<cr>
	Writing OUT file: SAMPLE.OUT[BUD,BIS]
	Successful!

The message `Successful!' is printed if all goes well.  If not (and there
are lots of ways you can screw up), it will tell you that there were errors
and that you should check the output file for details.

We exit the BUDGET program by typing 

	How may I serve you, Master?  STOP<cr>

to which BUDGET replies

	It has been our pleasure...
	* 

The `*' means we're at top-level LISP.  Now we have to gracefully leave
the ACRONYM environment.  This is done by typing

	(kwit)<cr>

to which comes the reply

	Exit
	↑C
	.
 
That's how you use BUDGET!
 
The following pages explain the two important things you need to know:
(1) how to write input files which specify salaries, line items, and
hirings; and (2) other commands which the BUDGET program understands.
 
Syntax of Input Files.
 
Here is a list of the types of statements which may occur in an input file
for BUDGET.

TITLE statements allow you to put the name of the grant or contract
into the output file.  The statement
	(title NSF-78)
will label all output pages with the phrase `NSF-78.'  If you don't
specify a TITLE, then `UNTITLED' will be used.
 
PERIOD statements allow you to name periods of time.  For example, the
statement
	(period FIRST-YEAR	((11 80)(10 81)))
will allow you to use the phrase `FIRST-YEAR' instead of writing the
cumbersome expression ((11 80)(10 81)).

SALARY statements define a person's salary during a specified PERIOD.
Typical SALARY statements are:
	(salary BINFORD	((09 79)(08 80))	(2000 monthly))
	(salary SOROKA	((09 79)(08 80))	(1000 monthly))
	(salary ROD	((10 79)(09 80))	(1074 monthly))
	(salary ROD	((10 80)(09 81))	(1202 monthly))
See a later section of this document (How Salaries are Computed) for
some more details on this.

EMPLOY statements declare our intent to hire a certain percentage of a
person for a specified period of time.  For example,
	(employ BINFORD		FIRST-YEAR	10	sen)
declares that we want to hire BINFORD at 10% for the period we named
FIRST-YEAR; his salary is to be included in that of Senior Personnel.
Other categories are SRA for Student Research Assistants and SUP for
Support Personnel.

Students are typically hired in a kooky fashion:
	(employ STU	((10 80)(06 81))	 50	sra)
	(employ STU	((07 81)(09 81))	100	sra),
since they work full-time during their summer and half-time during
their academic year.

CAP statements declare our intent to purchase capital equipment on
a certain date at a certain price.  An example is:
	(cap SKY-HOOK		(11 80)	41500).

EXP statements declare estimated costs for expendable items.  Examples:
	(exp	(  50.00 monthly)	TOTAL		pencils)
	(exp	( 200.00 monthly)	(01 80)		paper)
 
PUB statements declare estimted costs for publication.  An example is:
	(pub	(2226.00 yearly)	FIRST-YEAR	page-charges).

COMM statements declare estimated costs for communications (telephone).
An example is:
	(comm	(1785.00 yearly)	FIRST-YEAR	telephone).
 
MER statements declare estimated costs for minor equipment and repair.
An example is:
	(mer	(4221.00 yearly)	FIRST-YEAR).
 
DOM statements declare estimated costs for domestic travel:
	(dom	(4200.00 yearly)	FIRST-YEAR	estimated).

FOR statements declare estimated costs for foreign travel:
	(for	(1600.00 monthly)	(10 80)		acapulco).

COMP statements declare estimated costs for computer services:
	(comp	( 880.64 monthly)	CAL-1980	csd-cf).
Note that this statement uses CAL-1980 as an abbreviation for the cumbersome
expression ((01 80)(12 80)).  This would be accomplished by a PERIOD statement
like:
	(period   CAL-1980   ((01 80)(12 80))).
 
How salaries are computed.
 
Recall that salaries are declared with statements of the form:
	(salary ROD	((10 79)(09 80))	(1074 monthly))
	(salary ROD	((10 80)(09 81))	(1202 monthly))
 
When the BUDGET or PROJECT commands need to know ROD's salary for an
arbitrary month, they first ask if it was explicitly declared with a
SALARY record.  If so, then the explicit value is used.  If not, then
a similar look-up is performed for the same month of the previous year;
if it's found, then it's inflated by 10%.  If not, then we go back yet
another year and inflate by 10% and then another 10%.  And so forth.
 
Recall that the salaries of students change on 01 October, while
the salaries of senior personnel and support staff change on 01 September.
This the user must effect by declaring the SALARY for the appropriate
period.  The declarations shown above will accomplish this for ROD,
a student.  To accomplish the same thing for Professor Foo, use
	(salary FOO	((09 79)(08 80))	(3000 monthly)).
His salary for (09 79) is $3000/month computed directly.
His salary for (09 80) is 1.1*$3000/month = $3300/month.
And so forth.
 
Sample input file.
 
Check out SAMBUD.IN[SYS,BIS].
This file can be used either for the BUDGET command or the PROJECT command.
 
Note that anything following a semi-colon (;) is ignored by LISP.
This allows one to insert comments into input specification files.
 
The input language is not perfect, by any means, and lots of things are
awkwardly phrased.  Suggestions for improvements are welcome.
 
You might want to get started with BUDGET by copying SAMBUD.IN[SYS,BIS] as a
template and then editing its entries to whatever you want for your specific
budget or projection.
 
Sample run of the BUDGET command.

Input file:	SAMBUD.IN[SYS,BIS]
Output file:	SAMBUD.OUT[SYS,BIS]
Dialog:

.da
Thursday    31-Jul-80    02:45  74F  23C

	[ Load BUDGET ]
.r acronym;budget[sys,bis
Hi there, Barry
You are using an ACRONYM created on 07/30/80 at 23:07:40 by ROD
Running: BUDGET.ACR[SYS,BIS]
Fasloaded file: BUD020.FAS[SYS,BIS]
* 
	[ `*' means LISP is waiting.
	  Invoke the BUDGET program. ]
(budget)
Welcome to BUDGET

	[ Read the input data declarations. ]
How may I serve you, Master?  read
Input data file?  sambud
	[ Notice that the extension defaults to IN. ]
Reading IN file: SAMBUD.IN[SYS,BIS]
	[ Let's turn MONTHLY ON so we get more details and not just a summary. ]
How may I serve you, Master?  monthly
On or off?  on
	[ OK, let's do the BUDGET for the PERIOD called TOTAL. ]
How may I serve you, Master?  budget
For what period or month?  total
File name?  sambud
	[ Notice that the extension defaults to OUT. ]
Writing OUT file: SAMBUD.OUT[SYS,BIS]
Successful!
	[ After seeing `Successful' you can just call out of LISP if you're
	  impatient.  Otherwise, the following commands get you out gracefully. ]
How may I serve you, Master?  quit
It has been our pleasure...
* 
(kwit)

Exit
↑C
.
Sample run of the PROJECT command.

Input files:	SAMBUD.IN[SYS,BIS]
		SAMBUD.GS[SYS,BIS]
Output file:	SAMPRO.OUT[SYS,BIS]
Dialog:

.da
Thursday    31-Jul-80    02:27  73F  23C

	[ Load BUDGET ]
.r acronym;budget[sys,bis
Hi there, Barry
You are using an ACRONYM created on 07/30/80 at 23:07:40 by ROD
Running: BUDGET.ACR[SYS,BIS]
Fasloaded file: BUD020.FAS[SYS,BIS]
* 
	[ `*' means LISP is waiting.
	  Invoke the BUDGET program. ]
(budget)
Welcome to BUDGET

	[ Read the input data declarations. ]
How may I serve you, Master?  read
Input data file?  sambud
	[ Notice that the extension defaults to IN. ]
Reading IN file: SAMBUD.IN[SYS,BIS]
	[ Use EXE to answer the queries about GRANT-STATUS. ]
How may I serve you, Master?  exe
Command file?  sambud.gs
	[ Now we get to watch the prompts which are being answered by
	  the GS file. ]
Reading EXE file: SAMBUD.GS[SYS,BIS]
How may I serve you, Master?  At the end of what (month year) is this status val
id?  Salaries and Wages, to date?  Salaries and Wages, budgeted?  Staff Benefits
, to date?  Staff Benefits, budgeted?  Capital Expenditures, to date?  Capital E
xpenditures, budgeted?  Travel, to date?  Travel, budgeted?  Other Expenses, to 
date?  Other Expenses, budgeted?  Indirect Costs, to date?  Indirect Costs, budg
eted?
	[ Let's turn MONTHLY ON so we get more details and not just a summary. ]
How may I serve you, Master?  monthly
On or off?  on
	[ OK, let's do the PROJECTion for the PERIOD called TOTAL. ]
How may I serve you, Master?  project
For what period or month?  total
File name?  sampro
	[ Notice that the extension defaults to OUT. ]
Writing OUT file: SAMPRO.OUT[SYS,BIS]
Successful!
	[ After you see `Successful!' you can exit with ↑C if you're impatient.
	  Otherwise, the following will get you gracefully out of LISP. ]
How may I serve you, Master?  quit
It has been our pleasure...
* 
(kwit)

↑C
.
Interactive commands:  lumped.
 
MONTHLY	controls the printing of monthly budgets for a period.  Prompts for
	`ON' or `OFF.'  If you have said `MONTHLY ON,' then the output file
	for a long period (say the FIRST-YEAR) will contain one page per
	month of the period as well as the totals for the whole period.
	This is helpful in understanding what the program is doing.
 
STOP	exits BUDGET to LISP.  Equivalent commands are EXIT, HALT, and QUIT.
 
READ	orders the reading of an input specification file.  Prompts for a
	file name.
 
BUDGET	commands the program to produce a budget.  Prompts for a period
	and then an output file name.  A period may be either (1) a
	month, like (10 80); (2) an explicit period, like ((10 80)(5 83));
	or (3) the name of a period which was declared in the input file,
	like FIRST-YEAR.
 
Interactive commands:  CLEAR.
 
This command wipes all data from the BUDGET program.  This allows the user
to read a completely new set of data.
 
Interactive commands:  EXE.
 
The EXE command tells BUDGET to takes its commands from a disk file
instead of from the terminal.
 
This is very useful when you want to give the same set of commands
many times in a row.  For example, a typical use of BUDGET is to produce
acceptable budgets for the NSF.  The steps in the process are:

(1)  Create a file NSF.IN, say, specifying a tentative budget.
 
(2)  Run BUDGET on NSF.IN creating, say, NSF.OUT.
 
(3)  Examine NSF.OUT; if it's ok then exit, otherwise continue with Step 4.
 
(4)  Alter NSF.IN attempting to make a better budget.
 
(5)  Go to Step 2.
 
The EXE command makes Step 2 easier.
 
A typical terminal session would look like this:

     .r acronym;budget[sys,bis
     Hi there, Barry
     You are using an ACRONYM created on 07/30/80 at 23:07:40 by ROD
     Running: BUDGET.ACR[SYS,BIS]
     Fasloaded file: BUDGET.FAS[SYS,BIS]
     * 
     (budget)
     Welcome to BUDGET
     How may I serve you, Master?  read
     Input data file?  sambud
     Reading IN file: SAMBUD.IN[SYS,BIS]
     How may I serve you, Master?  monthly
     On or off?  on
     How may I serve you, Master?  budget
     For what period or month?  total
     File name?  sambud
     Writing OUT file: SAMBUD.OUT[SYS,BIS]
     Successful!
     How may I serve you, Master?  quit
     It has been our pleasure...
     * 
     (kwit)

     Exit
     ↑C
     .

Here are the BUDGET commands that the user had to type:

     read
     sambud
     monthly
     on
     budget
     total
     sambud
     quit
 
The EXE command allows the user to put this set of commands into a file
so that BUDGET will obey them when he gives that file name to the EXE command.
 
There's one minor detail:  BUDGET reads file names from files DIFFERENTLY
than when it reads file names from the terminal.  In particular, you have
to describe file names as
	(file ext dev (p pn))
where SAMBUD.IN[SYS,BIS] would become (SAMBUD IN DSK (SYS BIS)) for example.

So, the above noted command sequence would be written into a disk file as:

     read
     (sambud in dsk (sys bis))
     monthly
     on
     budget
     total
     (sambud out dsk (sys bis))
     quit
 
The disk file SAMBUD.EXE[SYS,BIS] contains that text.
 
Here's what it looks like to use the EXE command during a run of BUDGET:
 
.r acronym;budget[sys,bis
Hi there, Barry
You are using an ACRONYM created on 09/19/80 at 16:32:27 by ROD
Running: BUDGET.ACR[SYS,BIS]
Fasloaded file: BUDGET.FAS[SYS,BIS]
* 
(budget)
Welcome to BUDGET
How may I serve you, Master?  exe
	[ invoke the EXE command ]
Command file?  sambud
	[ we say SAMBUD, and BUDGET adds your p,pn to it ]
	[ the default extension is `EXE' ]
Reading EXE file: SAMBUD.EXE[SYS,BIS]
How may I serve you, Master?  Input data file?  Reading IN file: SAMBUD.IN[SYS,BIS]
How may I serve you, Master?  On or off?  How may I serve you, Master?  For what
 period or month?  File name?  Writing OUT file: SAMBUD.OUT[SYS,BIS]
	[ you will see all the prompts which BUDGET is asking the disk file ]
Successful!
How may I serve you, Master?  It has been our pleasure...
* 
(kwit)

Exit
↑C
.
 
You can save a lot of typing (with possible errors) by using EXE.
 
An EXE file may itself contain EXE commands, permitting nesting but not
recursion.
 
Interactive commands:  OVERHEAD.  (Also, the INDIRECT command.)
 
Overhead (Indirect Costs) are not billed on some accounts.
The OVERHEAD command permits correct projections on such accounts.
 
A typical dialog is
	How may I serve you, Master?  OVERHEAD
	On or Off?  ON
or
	How may I serve you, Master?  OVERHEAD
	On or Off?  OFF

The INDIRECT command is identical to the OVERHEAD command.
 
The default is to charge overhead costs.
The CLEAR command will set OVERHEAD ON.
 
Interactive commands:  PROJECT.
 
This command orders the BUDGET program to produce a grant projection
based on
	(1) expense records taken from an IN file; and
	(2) an initial grant status as entered thru a STATUS command.
Both conditions must be met before the PROJECT command can be used.

This command prompts for a PERIOD and an output file.
 
CAUTION:  The PROJECT command will update the initial Grant Status
which will be used for later PROJECT commands.  Use STATUS to make
sure that you have the right initial Grant Status before PROJECTing.
 
An interlock exists between the current grant status and the months for
which you are requesting a PROJECTion.  For example, if your status file
was for the end of (01 80) and you issued the PROJECT command for the
period ((03 80)(12 80)), an error would be reported.
 
Interactive commands:  STATUS.
 
This command is used for entry of the numbers
which represent the current status
of a grant which we want to project.

In addition, you must specify the month and year (e.g. (03 80))
at the end of which the status figures are valid.
This date is used to prevent accidentally projecting
from the wrong starting data.
 
It prompts for lots of different numbers,
all available from the latest University monthly statement.
 
Typing these numbers all the time is a drag.
Besides, you'll probably make an error.
 
Much smarter is to prepare an EXE file
containing both the STATUS command
and the responses to all its prompts.
 
Check out SAMBUD.GS[SYS,BIS] for an example.
 
Appendix 1.  Detailed budget for inclusion in an NSF proposal.

           BUDGET for the Second Year: 11/81 thru 10/82



PROPOSAL TO:  National Science Foundation


TITLE:  Computer Integrated Assembly Systems


SUBMITTED BY:  John McCarthy
               Professor of Computer Science
               Stanford University

               Thomas O Binford
               Senior Research Associate
               Associate Investigator


A. SALARIES AND WAGES


   1. Senior Personnel


        John McCarthy (5% Acad Yr)				  x,xxx
        Professor and Principal Investigator

        Thomas O Binford (10%)					  x,xxx
        Senior Research Associate

        Barry I Soroka (60%)					 xx,xxx
        Research Associate



   2. Student Research Assistants (4)                            39,930
      50% Acad Yr, 100% Summer


   3. Support Personnel


      a. Engineer (20%)   					  x,xxx

      b. Secretary (60%)					 xx,xxx


                                                                _______

   Total Salaries & Wages                                        78,826


B. STAFF BENEFITS                                                17,118
   9/1/81-8/31/82:  21.6%
   9/1/82-8/31/83:  22.2%

                                                                _______

C. TOTAL SALARIES, WAGES AND STAFF BENEFITS                      95,944


D. CAPITAL EQUIPMENT                                             25,000
   (see page 54, "Capital Equipment Justification")


E. EXPENDABLE SUPPLIES AND EQUIPMENT                              4,066


F. TRAVEL

   1. Foreign                                                         0

   2. Domestic                                                    4,620


G. PUBLICATIONS                                                   2,449


H. OTHER COSTS

   1. Communication (telephone)                                   1,964

   2. Computer cost                                              12,593

   3. Minor equipment and repair                                  4,643

                                                                _______

I. TOTAL COSTS (A thru H)                                       151,279


J. INDIRECT COSTS (58% of A thru H, less D)                      73,242


                                                                _______
K. TOTAL COSTS, Second Year:  11/81 thru 10/82                  224,521
Appendix 2.  Skeleton budget as produced by BUDGET.

           BUDGET for the period 11/81 thru 10/82

Prepared by BIS using BUDGET on 05/06/80 at 10:43:09


PROPOSAL TO:  


TITLE:  


SUBMITTED BY:  


A. SALARIES AND WAGES


   1. Senior Personnel


        BINFORD         xxxx.xx

        MCCARTHY         xxxx.xx

        SOROKA        xxxxx.xx



   2. Student Research Assistants                              39930.44


   3. Support Personnel


        ENGINEER         xxxx.xx

        SECRETARY        xxxxx.xx



   Total Salaries & Wages                                      78826.82


B. STAFF BENEFITS                                              17118.77


C. TOTAL SALARIES, WAGES AND STAFF BENEFITS                    95945.59


D. CAPITAL EQUIPMENT                                           25000.00


E. EXPENDABLE SUPPLIES AND EQUIPMENT                            4065.59


F. TRAVEL

   1. Foreign                                                      0.00

   2. Domestic                                                  4620.00


G. PUBLICATIONS                                                 2448.60


H. OTHER COSTS

   1. Communication (telephone)                                 1963.50

   2. Computer cost                                            12593.10

   3. Minor equipment and repair                                4643.09


I. TOTAL COSTS (A thru H)                                     151279.50


J. INDIRECT COSTS (58% of A thru H, less D)                    73242.11


K. TOTAL COSTS                                                224521.61
Archived announcements of BUDGET updates.
 
13-May-80 BIS
Two new commands have been added in order to permit BUDGET
to generate projections of grant accounts
from files of expense descriptions.
The STATUS command prompts the user for the current totals
which represent the starting status of the grant to be projected.
The PROJECT command produces a file containing monthly projections
of the grant for a specified period.
In addition, some new tag fields have been added to input expense descriptions.
This document does not yet describe their use.
If you bug BIS, he'll document the new optional fields.
 
∂23-May-80  2155	BIS  	BUDGET Version 017...   
To:   "@BUDGET.DIS[DIS,BIS]" at SU-AI 
 
... is hereby released.
 
New features:
 
CLEAR command wipes out the data previously read in.
 
An interlock now exists between the grant status and the months for which
you request projections.  Thus, the STATUS command requests an additional
item, namely the month at the end of which the grant status figures are
valid.  This should prevent serious errors in using the wrong starting
point for a projection.
 
Check BUDGET.DOC[SYS,BIS] for further information.

∂30-May-80  1853	BIS  	BUDGET Version 018...   
To:   "@BUDGET.DIS[DIS,BIS]" at SU-AI 
 
...is hereby released.
 
The declaration (TITLE NSF-78) will insert the title `NSF-78' onto each
page of the output file for easier identification of output.
 
The PROJECT command now produces one page person on the grant of the form

	Summary of SOROKA on NSF78 from 01/80 thru 03/80
	month               salary     this month      to-date
	-----               ------     ----------      -------
	01/80   100% of    1000.00       1000.00       1000.00 
	02/80   100% of    1000.00       1000.00       2000.00 
	03/80   100% of    1000.00       1000.00       3000.00 
 
so that mistakes can be more easily spotted.
 
Further details in BUDGET.DOC[SYS,BIS].

∂04-Jun-80  2036	BIS  	BUDGET Version 019 ...  
To:   "@BUDGET.DIS[DIS,BIS]" at SU-AI 
 
... is hereby released.
 
The OVERHEAD command now permits you to turn on and off the charging of
overhead (indirect costs) in projections.  This will allow for accurate
projection of accounts for which overhead is not charged.  The default
is to charge overhead.
 
More information in BUDGET.DOC[SYS,BIS].

∂31-Jul-80  0320	BIS  	Budget Version 020 
To:   "@BUDGET.DIS[DIS,BIS]" at SU-AI 
 
fixes a minor mislabelling in output of the BUDGET command, but now documents
the BUDGET and PROJECT command through much better sample files and sample
dialogs.  See BUDGET.DOC[SYS,BIS] for the new documentation.  Comments etc
to BIS.